import { defineWrappedResponseHandler } from "#server/utils/handler"; import { R } from "#server/utils/response"; import { resolveAgentIdentity } from "#server/service/agent/identity"; import { getSessionByIdAndUser, updateSession } from "#server/service/agent/session"; export default defineWrappedResponseHandler(async (event) => { const identity = await resolveAgentIdentity(event); const id = getRouterParam(event, "id"); if (!id) { return R.error("参数无效", null); } const session = await getSessionByIdAndUser(id, identity.userId, identity.tempToken); if (!session) { return R.error("会话不存在", null); } const body = await readBody(event); const { modelId, enableThinking, enableTools } = body as { modelId?: number; enableThinking?: number; enableTools?: number; }; const updates: { modelId?: number | null; enableThinking?: number; enableTools?: number } = {}; if (modelId !== undefined) updates.modelId = modelId; if (enableThinking !== undefined) updates.enableThinking = enableThinking ? 1 : 0; if (enableTools !== undefined) updates.enableTools = enableTools ? 1 : 0; if (Object.keys(updates).length === 0) { return R.error("无更新内容", null); } await updateSession(id, updates); return R.success({ id, ...updates }); });